/*
 * p4596.cpp
 *
 *  Created on: 2013-10-23
 *      Author: zy
 */
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<string>
#include<vector>
#include<set>
#include<map>
#include<stack>
#include<queue>
#include<algorithm>
using namespace std;
int gcd(int a, int b)
{
	return b == 0 ? a : gcd(b, a % b);
}
int n;
struct node
{
	int x, y, z;
	bool friend operator <(node a, node b)
	{
		if (a.y == b.y)
			return a.z < b.z;
		return a.y < b.y;
	}
} a[1001];
int main()
{
	while (scanf("%d", &n) != EOF)
	{
		bool safe = true;
		for (int i = 1; i <= n; i++)
			scanf("%d%d%d", &a[i].x, &a[i].y, &a[i].z);
		sort(a + 1, a + n + 1);
		for (int i = 1; i < n && safe; i++)
			for (int j = i + 1; j <= n && safe; j++)
			{
				int GCD = gcd(a[i].x, a[j].x);
				int MIN = a[j].y - a[i].z;
				if (MIN < 0)
					MIN = 0;
				int MAX = max(a[j].z - a[i].y, a[i].z - a[j].y);
				if (MIN % GCD == 0 || MAX % GCD == 0 || MIN / GCD != MAX / GCD)
					safe = false;

			}
		if (safe)
			puts("Can Take off");
		else
			puts("Cannot Take off");
	}
	return 0;
}
